The increasing ubiquity of confidential communications via open networks has created an urgent need for the strongest possible data encryption techniques. Modern encryption techniques rely on “keys.” The encryption is only as strong as the key. If the key can be guessed by an attacker, the encryption is compromised. The less random the process for generating the key, the easier it is to guess. It is for this reason that generators that can produce truly random numbers are essential for data security.
One essential feature in protecting data encryption is the length of the key. If a key has few digits, it can be easily guessed, whether generated by a random process or not. A key must be changed at intervals shorter than are necessary to guess the key by exhaustive search. Since computing power is continually reducing the time needed for exhaustive searching of keys, random number generators must be able to produce numbers at a substantial rate.
Various prior art exists for generating random numbers. The most common are computer algorithms. While these are the easiest to implement, they are inherently only “pseudo-random.” That is, they are not truly random, and often, if one can observe a sequence of numbers generated by such an algorithm, it is possible to deduce subsequent numbers. When more randomness is desired, combinations of different algorithms for producing pseudo-random numbers are combined. Other devices rely on fundamentally irregular natural processes, such as the thermal noise generated by all electrically resistive elements (Johnson noise), or the intrinsic unpredictability of the time between decays of radioactive nuclei. Both of these have drawbacks. While thermal noise is indeed random, before an actual number can be generated from this noise, it must be significantly amplified by electronic means. The bandwidth characteristics of the amplifier then play a significant role in the predictability of the resulting stream of numbers. Measuring the timing of radioactive nuclei requires special equipment to detect the decay products, and of course, whenever ionizing radiation is employed, there are safety concerns.
What is needed therefore is a random number generating device that quickly produces a sequence of numbers. This sequence must be entirely unpredictable. That is, even if one has knowledge of the first n members of this sequence (for any value of n), subsequent members of the sequence, beyond n, cannot be predicted. Moreover, this device should be easily hybridized with traditional semiconductor technology so that it can be straightforwardly incorporated into computing and communication equipment.